home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / cross / GBDK-2.0.lha / GBDK / lib / strncpy.c < prev    next >
C/C++ Source or Header  |  1998-10-01  |  335b  |  22 lines

  1. #include <string.h>
  2.  
  3. /*
  4.  * Copy s2 to s1, truncating or null-padding to always copy n bytes.
  5.  * Return s1.
  6.  */
  7.  
  8. char *strncpy(char *s1, const char *s2, UBYTE n)
  9. {
  10.   UBYTE i;
  11.   char *os1;
  12.  
  13.   os1 = s1;
  14.   for(i = 0; i < n; i++)
  15.     if((*s1++ = *s2++) == '\0') {
  16.       while(++i < n)
  17.     *s1++ = '\0';
  18.       return os1;
  19.     }
  20.   return os1;
  21. }
  22.